﻿using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using JPW.OnlinePaperSubmissionSystem.Auditing.Dto;
using JPW.OnlinePaperSubmissionSystem.Dto;
using JPW.OnlinePaperSubmissionSystem.Project.Dto;
using Kendo.DynamicLinq;
namespace JPW.OnlinePaperSubmissionSystem.Project
{
    public interface IAuditAppService : IApplicationService
    {
        DataSourceResult KendoGetAudits(DataSourceRequest input);
        
        ListResultOutput<AuditListDto> GetAudits(GetAuditInput input);
        
        Task<ListResultOutput<AuditListDto>> GetAuditsAsync();

        Task DeleteAudit(IdInput input);
        
        Task CreateOrUpdateAudit(CreateOrUpdateAuditInput input);
        
        Task CreateAuditAsync(CreateOrUpdateAuditInput input);
        
        Task UpdateAuditAsync(CreateOrUpdateAuditInput input);
        
        Task<GetAuditForEditOutput> GetAuditForEdit(NullableIdInput input);

        Task CreateAuditStatus(CreateOrUpdateAuditInput input);
    }
}